爬虫工具(二) webscraper 教程 (知乎案例)
本篇阅读时间不详,全篇图解,图文较多。
1
前言
前天写了一篇,不用写代码的爬虫一,其实为什么要介绍工具?
在说下原由吧。在日常的工作中选择一个工具时,一定要根据不同场景来选择最合适的,假如你所需要的场景很容易就可以完成,那么有现成的工具为什么不用呢?
不要为了写代码而写代码,个人感觉这是大忌。类似地,在某些场景下如果为了体验新技术而去选型,却忽略了「新未必是最合适的观念」,最终可能会导致因为最初的选择坑自己一波!
所以这两篇的初衷就是希望大家如果日常遇到了小数据的时候,不妨依赖现有的工具来完成目标,而非自己在重新创造。(在程序界,俗称造轮子!程序界大忌,不要重复造轮子。。。当然如果是为了学习某些代码原理性的东西,自己重复造轮子还是极力推荐的!)
今天给大家介绍的不用写代码的爬虫工具是谷歌浏览器的一款插件 webscraper ,去年的时候,据了解许多产品人员学习这款插件,为了竞品分析,使用了它爬取竞争对手的数据,进行相应的分析。相当的容易上手,好用。
2
web scraper 安装
安装的话,如果大家有条件访问谷歌商店,可以自行下载,搜索引擎一搜就有了。若没有,可以后台回复 scraper ,得到的是一个百度云地址,下载后是一个后缀为 .crx 的文件,直接将其拖入到你的谷歌浏览器后即可完成安装。
由于笔者这里使用的是 360 极速浏览器,它本身是综合了谷歌和ie两者的浏览器,所以下面的截图以 360 为例。和谷歌浏览器本质没有太大差别。
将 crx 拖入浏览器后,可以看到两个变化的地方。
其一,浏览器右上角安装成功后,会有个小图标点亮。
其二,按下 F12 查看开发者工具中,最后应该多了一项 web scraper:
3
web scraper 爬取知乎文章标题
爬东西之前,还记得几点吗?首先要明确我们想要的东西,然后由于借助了工具,所以省去分析 html 的部分,直接开干!
笔者一直认为慕课网是自己入门编程的大师傅,相对的它给予我在专业道路上太多太多的价值了。所以就来爬取一下知乎上慕课网运营号所发表的文章标题吧,看看各路大神都是如何命名标题的。
打开 F12 ,点击到新的插件 web scraper 处:
1. 创建 sitemap,即站点。
2. 命名 sitemap ,随意取,然后写入爬取的相关地址。
3. 选地址,需要注意,依然是分析分页的地址。
知乎号主相关文章都是以最简单的这种分页方式分页的,所以当点击下面几页后,不难发现一个规律。地址的页面随着变化,page后面是几,就是第几页,例如下面就是第二页的地址。
https://www.zhihu.com/org/mu-ke-wang-14/posts?page=2
所以填写爬取地址时有个小技巧, webscraper 自动分页爬取:
https://www.zhihu.com/org/mu-ke-wang-14/posts?page=[1-57]
意思是从第 1 页到第 57 页,然后点击 create sitemap。
4. 添加 selector
5. 选择网页上要提取的 HTML 元素,类似分析源码节点。
当鼠标指向文章标题时,变绿了。
选择完第一个,依次选择第二个,下面所有文字标题会自动识别,确定选中的会变红,然后点击 Done Selecting。
6. 回到 F12 ,查看元素选择器的值以及改变了,由于提取多个元素标题,所以一定要勾选 multiple 。
7. 可以通过点击 Data preview 查看提取的文本结果。
可以看到已经将第一页内容提取出来了,保存,save selector 即可。
8. 开始爬取,启动插件运行,点击 scrape。
默认配置参数即可,点击 start scraping。
9. 等待结果即可,它会自己弹出来一个框,自动运行。
10. 导出最终的结果。需要注意:文件类型导出的是 csv 格式,若想使用数据库则需安装使用 CouchDB 。(不多介绍,自行查找)
爬取完成后,浏览器右下方会有提示,然后需要回到 F12 的界面点击 refresh 刷新下数据,在进行如下操作:
10. 查看 csv 的结果。以此方式爬取的结果,可以看到是无序的。
需要说明的是,web scraper 效率是比较高的,1140 条数据的爬取,用时 1+ mins。
使用中更多的详情以及问题,大家可以参考明白老师的一篇博客:
https://www.jianshu.com/p/cd5124ac0871
4
代码生成词云
关于生成词云的代码,之前在 胡歌分析篇 ,评论区已经开源出来了,有兴趣的可以去查看下。
根据下图,不难发现,从文章标题中提取出来最多的是程序员,然后是Java、面试、其次是 Python 等等了。。。所以各位大佬的文章标题还是挺直接了当的,与自身群体和编程语言相关。
5
总结
web scraper 是一款比较不错的爬虫插件,上手使用也非常快,本篇只是简单的介绍入门使用,相关深一层使用,还需要自行去网上查阅资料学习。
希望大家能记住本篇开篇说的话,不同场景选择合适的工具,有现成的轮子,用就好了!
长按关注
公众号名称:咪哥杂谈
一个咪咪怪的公众号
长按二维码关注哦!